/**
 * 
 */
package hihocoder;

import java.util.Scanner;

/**
 * @author zhongfang
 *
 */
public class 不一定合法括号序列dp {
	static int mod = 1000000007;

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int n = scanner.nextInt();
		int k = scanner.nextInt();
		scanner.close();
		long[][] dp = new long[n + 1][k + 1];
		dp[0][1] = 1;// 放右，bad=1
		dp[1][0] = 1;// 放左，bad=0
		for (int i = 1; i < 2 * n; i++) {// 下标
			long[][] tmp = new long[n + 1][k + 1];
			for (int unmatchedLeft = 0; unmatchedLeft <= i + 1 && unmatchedLeft <= n; unmatchedLeft++) {// 未匹配个数
				for (int curBad = 0; curBad <= k; curBad++) {// bad个数

					if (unmatchedLeft != n) {
						tmp[unmatchedLeft + 1][curBad] += dp[unmatchedLeft][curBad];
					}
					if (unmatchedLeft == 0) {// bad
						if(curBad<k){
							tmp[0][curBad + 1] += dp[0][curBad];	
						}
					} else {// 抵消
						if(unmatchedLeft!=0){
							tmp[unmatchedLeft - 1][curBad] += dp[unmatchedLeft][curBad];
						}
					}
				}
			}
			dp = tmp;
		}
		System.out.println(dp[n - 1][k]);
	}

	private static void display(long[][] tmp) {
		for (int i = 0; i < tmp.length; i++) {
			for (int j = 0; j < tmp[0].length; j++) {
				System.out.print(i + " " + j + " " + tmp[i][j] + "---------");
			}
			System.out.println();
		}
		System.out.println();
	}
}
